A computer network is a collection of interconnected computing devices that can exchange data and share resources. A variety of devices operate to facilitate communication between the computing devices. For example, a computer network may include routers, switches, gateways, firewalls, and a variety of other devices to provide and facilitate network communication.
These network devices typically include mechanisms, such as management interfaces, for locally or remotely configuring the devices. By interacting with the management interface, a client can perform configuration tasks as well as perform operational commands to collect and view operational data of the managed devices. For example, the clients may configure interface cards of the device, adjust parameters for supported network protocols, specify physical components within the device, modify routing information maintained by a router, access software modules and other resources residing on the device, and perform other configuration tasks. In addition, the clients may allow a user to view current operating parameters, system logs, information related to network connectivity, network activity or other status information from the devices as well as view and react to event information received from the devices.
In some network devices, the management interface allows a client to configure the present configuration of the network device using a commit-based model. In a commit-based model, a client issues one or more configuration commands, and then directs the management interface to apply the commands by issuing a “commit” command. Typically, the client may direct the management interface to disregard the commands by issuing a “rollback” command.
Some network devices are configured to receive configuration information according to a high level, structured input data model, such as YANG. YANG is specified in Bjorklund, “YANG—A Data Modeling Language for the Network Configuration Protocol (NETCONF),” Internet Engineering Task Force (IETF), RFC 6020, October 2010, available at tools.ietf.org/html/rfc6020, the entire contents of which are incorporated herein by reference. Such network devices receive configuration information input formatted according to YANG, and then translate the configuration information to device level configuration information. YANG thereby allows users, such as network administrators, to configure a variety of network devices, having various data formats for device level configuration information, using a common, structured input.